This is a generic howto that explains how to get rid of systemd in a distro based on Debian Buster, like the beta version of Elive 3.8.xx
Feel free to edit and improve this howto in order to make the final system more compatible for all
cd /tmp
wget "http://deb.devuan.org/devuan/pool/main/d/devuan-keyring/$( curl -sL http://deb.devuan.org/devuan/pool/main/d/devuan-keyring/ | grep "href.*devuan-keyring_.*all.deb" | sed -e 's|^.*href="||g' -e 's|".*$||g' )"
sudo dpkg -i devuan-keyring*deb
xxxxxxxxxx
echo "# Devuan repos:
deb http://deb.devuan.org/merged beowulf main contrib non-free
deb http://deb.devuan.org/merged beowulf-updates main contrib non-free
deb http://deb.devuan.org/merged beowulf-security main contrib non-free
deb http://deb.devuan.org/merged beowulf-backports main contrib non-free
" | sudo tee /etc/apt/sources.list.d/bbb-devuan.list
xxxxxxxxxx
echo "Package: *
Pin: release o=Devuan
Pin-Priority: 600" | sudo tee /etc/apt/preferences.d/devuan.pref
sudo apt-get update sudo apt-get upgrade
note: don't use dist-upgrade on this step, we need a soft upgrade first
Now this is an important step, you will install a needed package and you will need to note somewhere the list of what is going to be removed, because you need to install it later (or their replacements), we will continue the howto with a list based on Elive 3.8.14 as an example of this list
xxxxxxxxxx
sudo apt-get remove network-manager\* wpasupplicant
sudo apt-get install eudev sudo apt-get install eudev sudo apt-get -f install
yes, you probably need to install eudev twice, due to a systemd error you need to be insistent.
Now, make a look to the packages it wants to remove:
... Suggested packages: bootlogd Recommended packages: libpam-ck-connector The following packages will be REMOVED: cairo-dock dbus-user-session eltrans gdebi gksu gnome-settings-daemon libpam-systemd plymouth plymouth-label policykit-1 policykit-1-gnome synaptic systemd systemd-sysv usb-bootable-elive lightdm
Make sure that it correctly uninstalled systemd and it regenerated your initramfs, otherwise you may need to try the step again after to reboot
xxxxxxxxxx
sudo dhclient -v en<TAB>
sudo dhclient -v eth0
sudo apt-get install elogind libpam-elogind
sudo apt-get dist-upgrade sudo apt-get remove systemd libnss-systemd
This step is a bit delicate and you may need to try the steps one by one:
If you want to use network-manager, which fortunately still is supported and advised if you had it before:
sudo apt-get install network-manager network-manager-gnome network-manager-openvpn-gnome network-manager-pptp-gnome network-manager-vpnc-gnome network-manager-fortisslvpn-gnome network-manager-l2tp-gnome network-manager-openconnect-gnome network-manager-ssh-gnome network-manager-strongswan dnsmasq gnome-keyring
Cairo-dock seems compatible too, but you need to reinstall it entirely in order to use all the modified packages from the Devuan repos, removing the ones from debian first, so:
xxxxxxxxxx
sudo apt-get remove cairo-dock\*
sudo apt-get clean
sudo apt-get install cairo-dock libexo-1-0 cairo-dock-gnome-integration-plug-in cairo-dock-dbus-plug-in-interface-python
Login manager, if you used Lightdm:
sudo apt-get install lightdm lightdm-gtk-greeter
Plymouth (boot splash) doesn't seems to be compatible, but is not a big issue if we don't have it
Some specific packages / dependencies by Elive you may want to have back:
sudo apt-get install gdebi gksu eltrans synaptic usb-bootable-elive gnome-settings-daemon policykit-1 policykit-1-gnome
Note: If you use an experimental version of the enlightenment desktop (so, not customized by Elive yet), you need to make sure that all the autostart applications needed are included in the init of the destkop, otherwise you may have features not working like dbus or mounts
After you have installed the needed software or reinstalled the previous one, its a good thing to cleanup your system:
sudo apt-get update sudo apt-get dist-upgrade sudo apt-get autoremove sudo apt-get autoclean
Your user won't have shutdown and similar privileges, so its recommended to add it your sudo settings:
xxxxxxxxxx
echo "# give admin privileges to user $USER to be able to shutdown / reboot / suspend the computer
$USER ALL=(ALL) NOPASSWD: /sbin/halt
$USER ALL=(ALL) NOPASSWD: /sbin/shutdown
$USER ALL=(ALL) NOPASSWD: /sbin/poweroff
$USER ALL=(ALL) NOPASSWD: /sbin/reboot
$USER ALL=(ALL) NOPASSWD: /usr/sbin/pm-hibernate
$USER ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend
$USER ALL=(ALL) NOPASSWD: /usr/sbin/pm-suspend-hybrid
" | sudo tee /etc/sudoers.d/sudo_nopasswd_power_$USER
note: is important to run this command as user and not root, otherwise you must change the USER variable to the static user to use
This may or may not work on other systems, in an updated Elive will directly work from your window manager
As you have seen, we needed to remove first all the cairo-dock packages that we had previously installed in order to force-download them again but from the devuan repos instead, otherwise they wont install or could mess the entire system (that's just an example of how mixing repos is a very delicated thing that can mess your entire system).
Your system is ready and usable now, but if you want to work from it as a stable system I would recommend to force-reinstall all the packages in your system that there's a version available on devuan, don't worry, our apt configurations set to devuan will make your system select the correct ones automatically.
Warning: this step can take up to 1 hour and can use at least 1GB of your network bandwith
xxxxxxxxxx
unset list
export DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical DEBCONF_NONINTERACTIVE_SEEN=true DEBCONF_NOWARNINGS=true
sudo apt-get clean
for package in $( dpkg -l | grep "^ii" | awk '{print $2}' ) ; do if apt-cache madison "$package" | grep -qs "devuan.org" ; then echo "including: $package" ; list="$package $list" ; fi ; done
sudo apt-get install --reinstall $list
# fixes:
sed -i -e 's|^set -e|#set -e|g' /var/lib/dpkg/info/firmware-b43-installer.prerm /var/lib/dpkg/info/firmware-b43*installer*
sudo apt-get -f install
You may have some broken packages, like the b43 firmwares (which we have already included hte fix in the previous command) so its up to you to fix them
Optionally, this step could have been done before to start installing back the wanted packages, but the result should be the same, you can do it especially if you have difficulties with broken dependencies
note: this option has not been very tested but is meant to stability your system to not have issues in the future with your repositories
Since you reinstalled so many packages in your system, a last reboot is suggested even if should be not needed :)
An installed 3.8.14 (32bit) system with the default preselected options (which means: you can install it even lighter), that resulted in 221 MB of RAM used with all the desktop featured running, turned to use only 175 MB uses only after to switch from systemd to sysvinit, plus: